package com.ruoyi.system.domain;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 订单项管理对象 order_item
 * 
 * @author 墨染
 * @date 2024-09-28
 */
public class OrderItem extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    @Excel(name = "订单项ID")
    private Long orderItemId;

    @Excel(name = "订单ID")
    private Long orderId;

    @Excel(name = "商品ID")
    private Long goodsId;

    @Excel(name = "商品名称")
    private String goodsName;

    @Excel(name = "商品数量")
    private Long goodsCounts;

    @Excel(name = "商品图片")
    private String goodsImage;

    @Excel(name = "商品折扣系数")
    private String goodsDiscount;

    @Excel(name = "商品价格")
    private String goodsPrice;

    @Excel(name = "使用积分数")
    private Double usePoints;

    @Excel(name = "关联商品Id")
    private String relateGoodsId;

    @Excel(name = "售卖类型")
    private String saleMode;

    @Excel(name = "商店Id")
    private Long shopId;

    @Excel(name = "商店名称")
    private String shopName;

    @Excel(name = "商店联系人姓名")
    private String contact;

    @Excel(name = "商店地址")
    private String shopAddress;

    @Excel(name = "商店联系人电话")
    private Long contactPhone;

    @Excel(name = "商店联系人邮箱")
    private String email;

    @Excel(name = "评价状态(未评价,已评价)")
    private String evaluateState;

    @Excel(name = "配送状态(未发货,配送中,已送达)")
    private String transState;

    @Excel(name = "运费")
    private Double transFee;

    @Excel(name = "是否包邮（0-不包邮，1-包邮）")
    private Long feeShipping;

    @Excel(name = "规格")
    private String stander;

    @Excel(name = "配送方式")
    private String shippingMethods;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "预计送达时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date arrivalTime;

    @Excel(name = "退款商品数量")
    private Long refundCounts;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @Excel(name = "删除标识（0-正常，1-停用）")
    private Long isDel;

    @Excel(name = "扩展字段1")
    private String ext1;

    @Excel(name = "扩展字段2")
    private String ext2;

    @Excel(name = "扩展字段3")
    private String ext3;

    @Excel(name = "扩展字段4")
    private String ext4;

    @Excel(name = "扩展字段5")
    private String ext5;

    public void setOrderItemId(Long orderItemId) 
    {
        this.orderItemId = orderItemId;
    }

    public Long getOrderItemId() 
    {
        return orderItemId;
    }
    public void setOrderId(Long orderId) 
    {
        this.orderId = orderId;
    }

    public Long getOrderId() 
    {
        return orderId;
    }
    public void setGoodsId(Long goodsId) 
    {
        this.goodsId = goodsId;
    }

    public Long getGoodsId() 
    {
        return goodsId;
    }
    public void setGoodsCounts(Long goodsCounts)
    {
        this.goodsCounts = goodsCounts;
    }

    public Long getGoodsCounts()
    {
        return goodsCounts;
    }
    public void setEvaluateState(String evaluateState)
    {
        this.evaluateState = evaluateState;
    }

    public String getEvaluateState()
    {
        return evaluateState;
    }
    public void setTransFee(Double transFee)
    {
        this.transFee = transFee;
    }

    public Double getTransFee()
    {
        return transFee;
    }
    public void setShippingMethods(String shippingMethods) 
    {
        this.shippingMethods = shippingMethods;
    }

    public String getShippingMethods() 
    {
        return shippingMethods;
    }
    public void setArrivalTime(Date arrivalTime) 
    {
        this.arrivalTime = arrivalTime;
    }

    public Date getArrivalTime() 
    {
        return arrivalTime;
    }
    public void setExt1(String ext1) 
    {
        this.ext1 = ext1;
    }

    public String getExt1() 
    {
        return ext1;
    }
    public void setExt2(String ext2) 
    {
        this.ext2 = ext2;
    }

    public String getExt2() 
    {
        return ext2;
    }
    public void setExt3(String ext3) 
    {
        this.ext3 = ext3;
    }

    public String getExt3() 
    {
        return ext3;
    }
    public void setExt4(String ext4) 
    {
        this.ext4 = ext4;
    }

    public String getExt4() 
    {
        return ext4;
    }
    public void setExt5(String ext5) 
    {
        this.ext5 = ext5;
    }

    public String getExt5() 
    {
        return ext5;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("orderItemId", getOrderItemId())
            .append("orderId", getOrderId())
            .append("goodsId", getGoodsId())
            .append("goodsName", getGoodsName())
            .append("goodsCounts", getGoodsCounts())
            .append("goodsImage", getGoodsImage())
            .append("goodsDiscount", getGoodsDiscount())
            .append("goodsPrice", getGoodsPrice())
            .append("usePoints", getUsePoints())
            .append("relateGoodsId", getRelateGoodsId())
            .append("saleMode", getSaleMode())
            .append("shopId", getShopId())
            .append("shopName", getShopName())
            .append("contact", getContact())
            .append("shopAddress", getShopAddress())
            .append("contactPhone", getContactPhone())
            .append("email", getEmail())
            .append("evaluateState", getEvaluateState())
            .append("transState", getTransState())
            .append("transFee", getTransFee())
            .append("feeShipping", getFeeShipping())
            .append("stander", getStander())
            .append("shippingMethods", getShippingMethods())
            .append("arrivalTime", getArrivalTime())
            .append("refundCounts", getRefundCounts())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("isDel", getIsDel())
            .append("ext1", getExt1())
            .append("ext2", getExt2())
            .append("ext3", getExt3())
            .append("ext4", getExt4())
            .append("ext5", getExt5())
            .toString();
    }

    public String getStander() {
        return stander;
    }

    public void setStander(String stander) {
        this.stander = stander;
    }

    public String getTransState() {
        return transState;
    }

    public void setTransState(String transState) {
        this.transState = transState;
    }

    public String getGoodsImage() {
        return goodsImage;
    }

    public void setGoodsImage(String goodsImage) {
        this.goodsImage = goodsImage;
    }

    public String getGoodsDiscount() {
        return goodsDiscount;
    }

    public void setGoodsDiscount(String goodsDiscount) {
        this.goodsDiscount = goodsDiscount;
    }

    public String getGoodsPrice() {
        return goodsPrice;
    }

    public void setGoodsPrice(String goodsPrice) {
        this.goodsPrice = goodsPrice;
    }

    public String getRelateGoodsId() {
        return relateGoodsId;
    }

    public void setRelateGoodsId(String relateGoodsId) {
        this.relateGoodsId = relateGoodsId;
    }

    public String getSaleMode() {
        return saleMode;
    }

    public void setSaleMode(String saleMode) {
        this.saleMode = saleMode;
    }

    public Long getShopId() {
        return shopId;
    }

    public void setShopId(Long shopId) {
        this.shopId = shopId;
    }

    public String getShopName() {
        return shopName;
    }

    public void setShopName(String shopName) {
        this.shopName = shopName;
    }

    @Override
    public Date getCreateTime() {
        return createTime;
    }

    @Override
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getGoodsName() {
        return goodsName;
    }

    public void setGoodsName(String goodsName) {
        this.goodsName = goodsName;
    }

    public String getContact() {
        return contact;
    }

    public void setContact(String contact) {
        this.contact = contact;
    }

    public String getShopAddress() {
        return shopAddress;
    }

    public void setShopAddress(String shopAddress) {
        this.shopAddress = shopAddress;
    }

    public Long getContactPhone() {
        return contactPhone;
    }

    public void setContactPhone(Long contactPhone) {
        this.contactPhone = contactPhone;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public Double getUsePoints() {
        return usePoints;
    }

    public void setUsePoints(Double usePoints) {
        this.usePoints = usePoints;
    }

    public Long getIsDel() {
        return isDel;
    }

    public void setIsDel(Long isDel) {
        this.isDel = isDel;
    }

    public Long getRefundCounts() {
        return refundCounts;
    }

    public void setRefundCounts(Long refundCounts) {
        this.refundCounts = refundCounts;
    }

    public Long getFeeShipping() {
        return feeShipping;
    }

    public void setFeeShipping(Long feeShipping) {
        this.feeShipping = feeShipping;
    }
}
